package cn.dengta.webapp.trade.form.query;

import cn.dengta.common.model.Status;
import cn.dengta.common.web.Client;
import cn.dengta.context.model.WesKit;
import cn.dengta.webapp.base.form.BaseForm;
import cn.dengta.webapp.trade.entity.RechargeProduct;
import cn.dengta.webapp.user.model.Gender;
import lombok.*;

@Getter
@Setter
public class RechargeProductQuery extends BaseForm<RechargeProduct> {

	/** 第三方支付的内购商品代号 */
	public String code;
	/** 充值类型：1=钻石充值；2=VIP充值；3=其他；4=积分兑换；5=群VIP充值 */
	public Integer type;
	/**
	 * 当type=5时可选值
	 * 当type=充值时
	 * 0=女；1=男
	 *
	 * @see cn.dengta.webapp.trade.model.GroupVipLevel
	 */
	private Integer subType;

	/** 币种 */
	public String currency;

	/** 客户端类型：2=Android；3=iOS */
	@Setter(AccessLevel.NONE)
	public Client client;
	/** 版本 */
	public String version;
	/** 性别：0=女；1=男 */
	public Gender gender;
	/** 弹窗限制：true=限制2条 */
	private Boolean limit = Boolean.FALSE;
	/** 分包 */
	private WesKit wesKit;

	public void setClient(String client) {
		this.client = Client.of(client);
	}

	public void setLimit(Integer limit) {
		this.limit = Status.asResult(limit);
	}

	public void setWesKit(Integer wesKit) {
		this.wesKit = WesKit.of(wesKit);
	}

}
